load("//tools:no_undefined.bzl", "cc_library")

cc_library(
    name = "misc_tools",
    srcs = ["misc_tools.c"],
    hdrs = ["misc_tools.h"],
    visibility = ["//c-toxcore:__subpackages__"],
    deps = ["//c-toxcore/toxcore"],
)

cc_binary(
    name = "DHT_test",
    srcs = ["DHT_test.c"],
    deps = [
        ":misc_tools",
        "//c-toxcore/toxcore",
    ],
)

cc_binary(
    name = "Messenger_test",
    srcs = ["Messenger_test.c"],
    deps = [
        ":misc_tools",
        "//c-toxcore/toxcore",
    ],
)

cc_binary(
    name = "av_test",
    srcs = ["av_test.c"],
    # We must always optimise this program, because otherwise GCC won't inline
    # cvArcLength but also not emit it out of line, resulting in undefined
    # reference errors.
    copts = ["-O1"],
    deps = [
        "//c-toxcore/toxav",
        "//c-toxcore/toxav:ring_buffer_srcs",
        "//c-toxcore/toxcore",
        "@opencv//:core",
        "@opencv//:highgui",
        "@portaudio",
        "@sndfile",
    ],
)

cc_binary(
    name = "random_testing",
    srcs = ["random_testing.cc"],
    deps = [
        ":misc_tools",
        "//c-toxcore/toxcore",
    ],
)
